const obj: {
    [key: string]: number, [Symbol.iterator]: () => { next: () => { value: number | undefined, done: boolean } }
} = {
    a: 1,
    b: 2,
    c: 3,
    d: 4,
    e: 5,
    f: 6,
    g: 7,
    h: 8,
    i: 9,
    j: 10,
    k: 11,
    l: 12,
    m: 13,
    n: 14,
    o: 15,
    p: 16,
    q: 17,
    r: 18,
    s: 19,
    t: 20,
    u: 21,
    v: 22,
    w: 23,
    x: 24,
    y: 25,
    z: 26,
    [Symbol.iterator]() {
        let index = 0
        const keys = Object.keys(this)
        return {
            next() {
                const end = index >= keys.length
                return {
                    value: end ? undefined : obj[keys[index++]],
                    done: end,
                }
            }
        }
    }
}
const [a, b] = obj
console.log(a, b);
export default {}